#pragma once

#include "Filter.h"

class SizeFilter : public Filter {
public:
    SizeFilter(double size_threshold);
    SizeFilter() = delete;
    SizeFilter(const SizeFilter&) = delete;
    SizeFilter& operator=(const SizeFilter&) = delete;

    virtual ~SizeFilter() = default;

    virtual AlgResultType operator () (const FilePairType& file_pair) const override;

private:
    double getSizeDiff(const FilePairType& file_pair) const;

    double size_threshold_;
};
